package com.leo.ibatis.demo.service.impl;

import java.util.List;

import com.leo.ibatis.demo.base.Service;
import com.leo.ibatis.demo.criteria.ItemCriteria;
import com.leo.ibatis.demo.dao.ItemDao;
import com.leo.ibatis.demo.domain.Item;
import com.leo.ibatis.demo.service.ItemService;

public class ItemServiceImpl extends Service implements ItemService {

	private ItemDao itemDao;

	public void setItemDao(ItemDao itemDao) {
		this.itemDao = itemDao;
	}

	public void insert(Item item) {
		itemDao.insert(item);
	}

	public int update(Item item) {
		int actualRowsAffected = 0;
		
		String itemid = item.getItemid();

		Item _oldItem = itemDao.select(itemid);
		
		if (_oldItem != null) {
			actualRowsAffected = itemDao.update(item);
		}
		
		return actualRowsAffected;
	}

	public int delete(String itemid) {
		int actualRowsAffected = 0;
		
		Item _oldItem = itemDao.select(itemid);
		
		if (_oldItem != null) {
			actualRowsAffected = itemDao.delete(itemid);
		}
		
		return actualRowsAffected;
	}
	
	public Item select(String itemid) {
		return itemDao.select(itemid);
	}

	public List<Item> list(ItemCriteria itemCriteria) {
		return itemDao.list(itemCriteria);
	}
	
	public List<Item> listOnPage(ItemCriteria itemCriteria) {
		return itemDao.listOnPage(itemCriteria);
	}

}
